#include "../stdafx.h"
#include "CharacterSet.h"

namespace soy {


int CompareCaseInsensitive( const char* a, const char* b ) {
	while ( *a && *b ) {
		if ( *a != *b ) {
			char upperA = MakeUpperCase( *a );
			char upperB = MakeUpperCase( *b );
			if ( upperA != upperB ) {
				return upperA - upperB;
			}
		}
		a++;
		b++;
	}
	// Either *a or *b is nul
	return *a - *b;
}

int CompareNCaseInsensitive( const char* a, const char* b, size_t len ) {
	while ( *a && *b && len ) {
		if ( *a != *b ) {
			char upperA = MakeUpperCase( *a );
			char upperB = MakeUpperCase( *b );
			if ( upperA != upperB ) {
				return upperA - upperB;
			}
		}
		a++;
		b++;
		len--;
	}
	if ( len == 0 ) {
		return 0;
	} else
		// Either *a or *b is nul
	{
		return *a - *b;
	}
}

};
